package com.valuegroup.smarttodo.data.model;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;

import java.io.Serializable;
import java.util.Date;

import org.greenrobot.greendao.annotation.Generated;

/**
 * 目标主干
 */
@Entity
public class Goals implements Serializable {
    private static final long serialVersionUID = -2007705903502428624L;
    @Id(autoincrement = true)
    private Long id;
    private String title;

    // 时间范围 AppStatus.GoalsRange
    @NotNull
    private Integer goalsRange;
    // 年份(yyyy)
    @NotNull
    private Integer rangeYear;
    // 季度(1-4)
    private Integer rangeQuarter;
    // 月度(1-12)
    private Integer rangeMonthly;

    // 是否逾期(依据完成时间)
    private Boolean isPastDue;
    // 是否完成
    private Boolean isFinish;
    // 是否星标
    private Boolean isStar;
    // 完成时间
    private Date finishDt;
    // 截止时间（yyyy-MM-dd）
    @NotNull
    private Date deadline;

    @NotNull
    private Date createdDt;
    @NotNull
    private Date updatedDt;
    @NotNull
    private Integer status;
    @Generated(hash = 279507714)
    public Goals(Long id, String title, @NotNull Integer goalsRange,
            @NotNull Integer rangeYear, Integer rangeQuarter, Integer rangeMonthly,
            Boolean isPastDue, Boolean isFinish, Boolean isStar, Date finishDt,
            @NotNull Date deadline, @NotNull Date createdDt,
            @NotNull Date updatedDt, @NotNull Integer status) {
        this.id = id;
        this.title = title;
        this.goalsRange = goalsRange;
        this.rangeYear = rangeYear;
        this.rangeQuarter = rangeQuarter;
        this.rangeMonthly = rangeMonthly;
        this.isPastDue = isPastDue;
        this.isFinish = isFinish;
        this.isStar = isStar;
        this.finishDt = finishDt;
        this.deadline = deadline;
        this.createdDt = createdDt;
        this.updatedDt = updatedDt;
        this.status = status;
    }
    @Generated(hash = 1560055200)
    public Goals() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getTitle() {
        return this.title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public Integer getGoalsRange() {
        return this.goalsRange;
    }
    public void setGoalsRange(Integer goalsRange) {
        this.goalsRange = goalsRange;
    }
    public Integer getRangeYear() {
        return this.rangeYear;
    }
    public void setRangeYear(Integer rangeYear) {
        this.rangeYear = rangeYear;
    }
    public Integer getRangeQuarter() {
        return this.rangeQuarter;
    }
    public void setRangeQuarter(Integer rangeQuarter) {
        this.rangeQuarter = rangeQuarter;
    }
    public Integer getRangeMonthly() {
        return this.rangeMonthly;
    }
    public void setRangeMonthly(Integer rangeMonthly) {
        this.rangeMonthly = rangeMonthly;
    }
    public Boolean getIsPastDue() {
        return this.isPastDue;
    }
    public void setIsPastDue(Boolean isPastDue) {
        this.isPastDue = isPastDue;
    }
    public Boolean getIsFinish() {
        return this.isFinish;
    }
    public void setIsFinish(Boolean isFinish) {
        this.isFinish = isFinish;
    }
    public Boolean getIsStar() {
        return this.isStar;
    }
    public void setIsStar(Boolean isStar) {
        this.isStar = isStar;
    }
    public Date getFinishDt() {
        return this.finishDt;
    }
    public void setFinishDt(Date finishDt) {
        this.finishDt = finishDt;
    }
    public Date getDeadline() {
        return this.deadline;
    }
    public void setDeadline(Date deadline) {
        this.deadline = deadline;
    }
    public Date getCreatedDt() {
        return this.createdDt;
    }
    public void setCreatedDt(Date createdDt) {
        this.createdDt = createdDt;
    }
    public Date getUpdatedDt() {
        return this.updatedDt;
    }
    public void setUpdatedDt(Date updatedDt) {
        this.updatedDt = updatedDt;
    }
    public Integer getStatus() {
        return this.status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }


}
